//对axios二次封装
import axios  from "axios";
import nProgress from "nprogress";
import 'nprogress/nprogress.css'
import store from '@/store'

//创建一个axios实例

const requests = axios.create({
  //配置对象
  //基础路径
  baseURL:'/api',
  //请求超时时间，在5秒后就结束
  timeout:5000
})

//请求拦截器
requests.interceptors.request.use((config)=>{
  if(store.state.detail.uuid_token){
    // 给请求头新增字段
    config.headers.userTempId = store.state.detail.uuid_token
  }
  //进度条开始
  nProgress.start()
  
  //配置对象 有一个重要属性 headers
  return config 
})

//响应拦截器
requests.interceptors.response.use((res)=>{
  
  //进度条结束
  nProgress.done()
  //成功回调函数 返回服务器数据
  return res.data
},(error)=>{
  //失败的回调
  if (error.message) {
    console.log(error.message);
  }
  if (error.response) {
    console.log(error.requests.data);
  }
  //结束掉promis链
  return Promise.reject(error);
})

export default requests